#ifndef __HARDWARE_MOTOR_H
#define __HARDWARE_MOTOR_H

#include "tim.h"

typedef struct
{
    uint32_t PWM1_Reso;
    uint32_t PWM2_Reso;
    TIM_HandleTypeDef *PWM1_UsedTIM;
    TIM_HandleTypeDef* PWM2_UsedTIM;
    uint32_t PWM1_UsedChannel;
    uint32_t PWM2_UsedChannel;
    float PWM_Duty;         // 0~1
    uint8_t IsForward;      // 1: 正转
                            // 0:反转
} Motor_s_Typedef;

void Motor_Ctrl(Motor_s_Typedef *Motor_s);
void Motor_SetDuty(float _Duty, Motor_s_Typedef *Motor_s);
void Motor_Turn(Motor_s_Typedef *Motor_s);
void Motor_Init(Motor_s_Typedef *Motor_s);

#endif // !__HARDWARE_MOTOR_H
